package com.sec.etech.bpm.cust.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import org.openbpm.bpm.core.model.BpmTaskOpinionExt;

import java.util.Date;

@lombok.Data
@TableName(value = "bpm_task_opinion", autoResultMap = true)
public class EtechTaskOpinionExt extends BpmTaskOpinionExt {

    @TableId("id_")
    protected String id;

    @ApiModelProperty("审批时间")
    @TableField("approve_time_")
    protected Date approveTime;

    //扩展字段-通用
    //类型：0-不考核，1-刚性，2-柔性
    @TableField("kpi_type_")
    protected int kpiType;

    @ApiModelProperty("考核标志  0-不考核 1-通过  2-不通过")
    @TableField("kpi_flag_")
    protected Integer kpiFlag = 0;

    //分值, 总分值, 当前得分值
//        扣分：-分值，如分值为3分这里就显示 -3
    @TableField("value_")
    protected int value;

    //        平台
    // 刚性：PLAN/DM/ACC
    // 柔性：PLAN/SAM/PR
    @TableField("bus_module_")
    protected String busModule;
    //        编号：计划任务编号/修改单号/ACC任务编号
    @TableField("bus_task_no_")
    protected String busTaskNo;
    //        名称：计划任务名称/修改单的文件编号/ACC的计划任务名称
    @TableField("bus_task_name_")
    protected String busTaskName;
    //        优先级：已锁定/高/中/低（不同类型任务可能不一样）
    @TableField("bus_priority_")
    protected int busPriority;

    //        流程类型：流程模板名字
    //        节点名称：考核节点的编号名称
//                节点责任科室
    @ApiModelProperty("主管组/部门")
    @TableField("master_group_")
    protected String masterGroup;  //新增字段，用于统计报表，可选
    @TableField("master_group_name_")
    protected String masterGroupName;

    @ApiModelProperty("节点控制编号")
    @TableField("node_control_num_")
    protected String nodeControlNum;

    @ApiModelProperty("计划工作天数")
    @TableField("plan_workdays_")
    protected Integer planWorkdays;  //新增字段，用于动态计算过期时间
    //        预期完成：日期
    @ApiModelProperty("计划完成日期")
    @TableField("plan_complete_day_")
    protected Date planCompleteDay;
    //        实际完成：日期， 同 approver_time_
    @TableField("real_complete_day_")
    protected Date realCompleteDay;
    @ApiModelProperty("剩余工作天数")
    @TableField("remain_days_")
    protected Integer remainDays;
    @ApiModelProperty("最后一次计算工作天数的时间")
    @TableField("cal_days_time_")
    protected Date calDaysTime;
    @ApiModelProperty("是否及时")
    @TableField("is_in_time_")
    protected Integer isIntTime;
    @ApiModelProperty("节点处理备注")
    @TableField("node_tip_")
    protected String nodeTip;
    //                超期原因
    @TableField("expire_reason_")
    protected String expireReason;


    //扩展字段-项目定制
    //原有流程数据, 新增字段用于迁移数据核对或者追补记录
    @TableField("ref_bpeid_")
    protected Long refBpeid;
    @TableField("ref_nodeid_")
    protected Long refNodeid;

    @TableField("sign_id_")
    protected String signId;
}
